package com.community.body.mapper;

import com.community.body.domain.ZyComment;
import com.community.body.dto.CommentDTO;
import org.apache.ibatis.annotations.Update;

import java.util.List;

/**
 * 评论Mapper接口
 *
 * @author community
 * @date 2024-04-17
 */
public interface ZyCommentMapper {
    /**
     * 查询评论
     *
     * @param commentId 评论主键
     * @return 评论
     */
    public ZyComment selectZyCommentByCommentId(Long commentId);

    /**
     * 查询评论列表
     *
     * @param zyComment 评论
     * @return 评论集合
     */
    public List<CommentDTO> selectZyCommentList(ZyComment zyComment);

    /**
     * 新增评论
     *
     * @param zyComment 评论
     * @return 结果
     */
    public int insertZyComment(ZyComment zyComment);

    /**
     * 修改评论
     *
     * @param zyComment 评论
     * @return 结果
     */
    public int updateZyComment(ZyComment zyComment);

    /**
     * 删除评论同时删除对应的回复(只用修改del_flag)
     *
     * @param commentID
     * @return
     */
    @Update("UPDATE zy_comment SET del_flag = 1 where parent_id = #{commentID}")
    public int updateCommentDelFlag(Long commentID);

    /**
     * 删除评论
     *
     * @param commentId 评论主键
     * @return 结果
     */
    public int deleteZyCommentByCommentId(Long commentId);

    /**
     * 批量删除评论
     *
     * @param commentIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteZyCommentByCommentIds(Long[] commentIds);
}
